package model.locations;
import exceptions.LockedDoorException;
import exceptions.NoDoorException;
import exceptions.ThingNotInArea;
import model.things.Thing;
import net.slashie.libjcsi.ConsoleSystemInterface;


public interface _World {
	/*
	 * gives true when user hits an exit boundary
	 */
	public boolean getNextLevel();

	/*
	 draws map of area to command line
	 */
	public String toString();

	/* This serves as an example, it is probably in the wrong place
	 * I like it when things know how to draw themselves
	 */
	public abstract void drawInSwing(ConsoleSystemInterface csi);

	
	
	public abstract String goDirection(String d);

	/*
	 returns a description of current area if the look command is typed
	 */
	public String getDescription();
	
	/*
	 this method is used to check things in area. Used for PickUp, Give ..etc commands
	 */
	public boolean getThing(String objectLabel,String type);

	public abstract boolean haveYouObatinedItem(String item);

	public String openCloseDoor(boolean open);
	
	public abstract void changeSetting();
	
}
